/**
 * jims
 */
package com.jims.master.modules.base.user.dao;


import com.jims.master.common.persistence.CrudDao;
import com.jims.master.common.persistence.annotation.MyBatisDao;
import com.jims.master.modules.base.user.entity.MasterBaseinfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户信息表DAO接口
 * @author jicunteng
 * @version
 */
@MyBatisDao
public interface MasterBaseinfoDao extends CrudDao<MasterBaseinfo> {
    /**
     * 验证身份证是否存在
     * @param idCard
     * @return
     */
    public MasterBaseinfo validIDCard(@Param("idCard") String idCard);

    /**
     * 更新用户信息
     * @param baseInfo
     * @return
     */
    @Override
    public int update(MasterBaseinfo baseInfo);

    /**
     * 根据idcard查找用户信息
     * @param baseInfo
     * @return
     */
    public MasterBaseinfo getByIdCard(MasterBaseinfo baseInfo);

    /**
     * 根据idcard查找用户信息
     * @param card
     * @return
     */
    public MasterBaseinfo findByCardNum(@Param("card") String card);

    /**
     * 插入用户头像
     * @param userId
     * @param headPath
     * @return
     */
    public int insertPic(@Param("userId") String userId, @Param("headPath") String headPath);

    /***
     * 和用户有医患关系的医生list
     * @param baseInfo
     * @return
     */
    public List<MasterBaseinfo> findRecordToDoctors(MasterBaseinfo baseInfo);

    /***
     * 和用户有医患关系的患者list
     * @param baseInfo
     * @return
     */
    public List<MasterBaseinfo> findRecordToPatients(MasterBaseinfo baseInfo);

    public MasterBaseinfo getInfo(String id);
    /***
     * 保存医生和患者之间的关系信息
     * @param doctorVsPatient
     * @return
     */
    /*public int saveRelativity(DoctorVsPatient doctorVsPatient);*/

    /**
     * 查询我的患者
     * @return
     */
    public List<MasterBaseinfo> getMyPatient(@Param("id") String id,@Param("start") int start,@Param("end") int end);
}